#include <ctime> 
#include <iostream> 
#include <fstream> 

using namespace std; 

void bubbleSort(int list[], int listLength) { 
 while(listLength--)  { 
  bool swapped = false; 

  for(int i = 0; i < listLength; i++) { 
   if(list[i] > list[i + 1]){ 
    swap(list[i], list[i + 1]); 
    swapped = true; 
   } 
  }  

  if(swapped == false) break; 
 } 
} 

void read_from_file(const char *filename, int a[], int length) { 
    ifstream file(filename); 

    for(int i=0; i < length; i++) 
        file >> a[i]; 
} 

int main() 
{ 
    #define LEN 5000 
    int a[LEN]; 

    read_from_file("m1_sorted.txt",a,LEN); 
    unsigned int t_start =  clock(); // начальное время 
    bubbleSort(a,LEN); 
    unsigned int t_finish = clock(); // конечное время 
    unsigned int t_work = t_finish - t_start; // искомое время 
    cout<<"m1_sorted " << t_work << " milliseconds \n"; 

    read_from_file("m2_reverse.txt",a,LEN); 
    t_start =  clock(); // начальное время 
    bubbleSort(a,LEN); 
    t_finish = clock(); // конечное время 
    t_work = t_finish - t_start; // искомое время 
    cout<<"m2_reverse " << t_work << " milliseconds \n"; 

    read_from_file("m3_shuffle.txt",a,LEN); 
    t_start =  clock(); // начальное время 
    bubbleSort(a,LEN); 
    t_finish = clock(); // конечное время 
    t_work = t_finish - t_start; // искомое время 
    cout<<"m3_shuffle " << t_work << " milliseconds \n"; 

    return 0; 
}